package com.jfplugin.mail;

import java.io.File;
import java.util.List;
import java.util.Map;

import com.jfplugin.mail.core.JavaMailSender;

/**
 * 邮件发送
 * @author farmer
 */
public interface IMailPro {

    /**
     * @param to 接收人
     * @param cc 抄送给
     * @param subject 主题
     * @param text 内容
     */
    void send(String to, List<String> cc, String subject, String text);

    /**
     * @param to 接收人
     * @param cc 抄送给
     * @param subject 主题
     * @param text 内容
     * @param attachments 附件
     */
    void send(String to, List<String> cc, String subject, String text, List<File> attachments);

    /**
     * @param to
     * @param cc
     * @param subject
     * @param viewPath
     * @param dataMap
     */
    void send(String to, List<String> cc, String subject, String viewPath, Map<String, Object> dataMap);

    /**
     * @param to
     * @param cc
     * @param subject
     * @param viewPath
     * @param dataMap
     * @param attachments
     */
    void send(String to, List<String> cc, String subject, String viewPath, Map<String, Object> dataMap, List<File> attachments);

    /**
     * 获取JavaMailSender
     * @return
     */
    JavaMailSender getMailSender();

    boolean stop();
}
